草庐IT

JavaScript ES6 模块 + traceur

全部标签

JavaScript拦截模块导入

我有一个使用SystemJS的SPA(在Aurelia/TypeScript中,但这应该无关紧要)。假设它在http://spa:5000/app上运行。它有时会根据需要从外部URL加载JavaScript模块,如waterservice/external.jshttp://otherhost:5002/fetchmodule?moduleId=waterservice.external.js。我使用SystemJS.import(url)来执行此操作并且工作正常。但是当这个外部模块想要使用一个简单的import{OtherClass}from'./other-class';导入另一个

javascript - 模块 '...' 导入了意外值 '...'。请添加@NgModule 注解

使用Angular。步骤:克隆了这个演示当前Angular包标准的简单UI库:https://github.com/jasonaden/simple-ui-lib使用ngnewtestApp创建了一个新的测试应用npm链接simple-ui-lib/distnpmlinksimple-ui-lib在testApp中将示例模块从simple-ui-lib导入到testApp中:在app.module.ts文件中:import{BoxModule}from'simple-ui-lib';...@NgModule({...imports:[...BoxModule]})Webpack编译正常

Javascript - 在 Require.js 中延迟模块返回/声明?

我有一个模块返回一个由JSON数据和图像对象组成的数组。由于加载JSON(从其他文件)和图像对象都需要时间,所以我需要我的模块仅在两者完成后才返回数组。目前,该模块总是在其他模块中返回“undefined”,我相信这是因为该模块没有像我预期的那样等待返回(但我不确定)。或者,因为使用此Atlas模块的其他模块在返回任何内容之前将其声明为变量。编辑以展示我如何定义/要求模块*再次编辑以显示更多代码*Thelivecodecanbeseenhere.这是我的tile-atlas模块:define(function(){vartilesheetPaths=["tilesheets/groun

javascript - 设置在另一个模块中实现的抽象的、实时可解析的 Vuex 存储?

我有两个模块,我们称它们为core和implementation.如何设置商店以启用core中的内容依赖implementation提供的假设商店?在implementation的商店我正在做这样的事情:importCorefrom'core'exportdefaultnewVuex.Store(newCore().defaultStore)这将注册默认状态、突变、操作和getter(该设置允许implementation的用户扩展/修改core提供的默认存储)。问题出现在core中的一个Action中当它尝试访问非vueJS文件中的getter时。exportdefaultclass

javascript - 在 Require.js 中填充一个使用 module.exports 的模块可能吗?

我有一个模块,我想将其包含在Require.js链中。(更具体地说:https://github.com/component/emitter)在浏览器上我得到:UncaughtReferenceError:模块未定义对于模块导出,它定义了:module.exports=Emitter;我猜这就是所谓的AMD/Node方式。如有错误请指正。无论如何,我希望require.js能够以某种方式在浏览器中进行模块化。我认为Require.js的声明性填充选项可以帮助我,但我仍然看到上述错误。如何在不手动修补模块的情况下解决这个问题?(因为我想保留我设置的自动构建过程)

javascript - 如何在 Typescript 1.8 中包含未类型化的节点模块?

Typescript1.8nowsupportsuntypedJSfiles.Toenablethisfeature,justaddthecompilerflag--allowJsoradd"allowJs":truetocompilerOptionsintsconfig.json通过https://blogs.msdn.microsoft.com/typescript/2016/01/28/announcing-typescript-1-8-beta/我正在尝试导入react-tap-event-plugin它没有类型文件。import*asinjectTapEventPluginf

javascript - 跨多个文件将大型 typescript 文件拆分为模块

我目前有一个大的typescript文件,我想拆分。有几个函数和变量只在文件中使用,还有一些类。目前看起来是这样的:varnumbers=[1,2,3];functionformatDate(){...}classWidget{...}classSection{...}我试过将其放入一个模块并将其拆分为几个文件://Widget.tsmoduleReportTemplate{exportclassWidget{...}}//Section.tsmoduleReportTemplate{exportclassSection{...}}//ReportTemplate.ts//////mo

javascript - 模块模式和单例模式的区别?

我看到在一些项目中,ModulePattern使用而不是SingletonPattern,反之亦然。我想确切地知道,ModulePattern和SingletonPattern有什么区别? 最佳答案 Modulepattern在javascript中指的是通用机制的代码模块化。将一个“类”拆分到多个文件中效果很好,因为您可以独立定义构造函数和各种原型(prototype)方法组。每个模块通常都包裹在一个闭包中以创建静态局部变量-这称为揭示模块模式。Singletonpattern在javascript中是指实例创建的限制,常用laz

javascript - 找不到模块 'react'

我正在尝试将React集成到现有网页中。目前,我无法加载我的React应用程序。我的React应用程序有两个文件。此时,它们看起来像这样:myApp.jsimportReactfrom'react';importReactDOMfrom'react-dom';importMyComponentfrom'./components/myComponent';ReactDOM.render(,document.getElementById('root'));我的组件.jsimportReactfrom'react';importReactDOMfrom'react-dom';classMyC

Javascript 模块在浏览器中不起作用?

好吧,我查看了这个网站并找到了几个不同的答案,但没有一个对我有用。基本上有一个js文件,其中包含许多功能以及应用程序的主要代码。我想将我所有的功能移动到另一个js文件,这样我就可以稍微清理一下我的代码。我是js的新手,但我知道在python中它就像说“从(路径)导入(模块)作为(昵称)”一样简单无论如何,假设我的functions.js模块中有一个名为showmessage的函数。exportfunctionshow_message(){alert("Hello");}然后我在我的main.js文件的顶部import{show_message}from'./functions.js'/